'use strict';
const db = uniCloud.database();
const userCollection = db.collection('uni-id-users');

exports.main = async (event, context) => {
    console.log('收到请求参数：', event);
    
    try {
        const { spaceId, userId, type, lastUsedTime } = event;
        
        // 参数验证
        if (!spaceId || !userId || !type) {
            return {
                code: 400,
                message: '缺少必要参数'
            };
        }

        // 获取 token 用于权限验证
        const token = context.headers['x-token'] || context.headers['token'];
        if (!token) {
            return {
                code: 403,
                message: '未授权的访问'
            };
        }

        // 更新用户信息
        const updateData = {
            last_login_date: Date.now(), // 使用 timestamp 类型
            last_login_ip: context.CLIENTIP // 使用客户端IP
        };
        
        // 先检查用户是否存在
        const userCheck = await userCollection.doc(userId).get();
        
        if (!userCheck.data || userCheck.data.length === 0) {
            // 用户不存在，返回错误
            return {
                code: 404,
                message: '用户不存在'
            };
        }
        
        // 用户存在，更新信息
        const updateResult = await userCollection.doc(userId).update(updateData);
        
        return {
            code: 0,
            message: '更新成功',
            data: updateResult
        };
        
    } catch (error) {
        console.error('云函数执行错误：', error);
        return {
            code: 500,
            message: error.message || '服务器内部错误',
            error: error
        };
    }
};